#include<stdio.h>
#include<unistd.h>
#include<stdlib.h>
#include<sys/wait.h>
#include<sys/types.h>
int main()
{
  printf("command begin\n");
  execl("/usr/bin/ls","ls","-al",NULL);
  printf("you can see me!\n");
  return 0;
}
//int main()
//{
//  if(fork()==0)
//  {
//      //child
//      printf("I am a child process\n");
//      char* argv[] = {"ls","-a","-l","-n",NULL};
//      execvp("ls",argv);
//      printf("you can see me!\n");
//  }
//    //parent
//    waitpid(-1,NULL,0);
//    printf("father wait child success\n");
//  return 0;
//}
//
//int main()
//{
//  if(fork() == 0)
//  {
//    //child
//    printf("I am a child process\n");
//    execlp("ls","ls","-a","-l",NULL);
//    printf("you can see me!\n");
//  }
//  //parent
//  waitpid(-1,NULL,0);
//  printf("father wait child success\n");
//  return 0;
//}
//


//int main()
//{
//  if(fork() == 0)
//  {
//    //child
//    char* argv[] = {
//      "ls",
//      "-a",
//      "-l",
//      "-n",
//      NULL 
//    };
//    execv("/usr/bin/ls",argv);
//    printf("you can see me!\n");
//    exit(1);
//  }
//  //parent
//  waitpid(-1,NULL,0);//等待任意一个子进程返回
//  printf("father wait child success\n");
//  return 0;
//}
////int main()
//{
//  printf("I am a process! pid:%d\n",getpid());
//  execl("/usr/bin/lss","ls","-a","-l",NULL);//execl执行程序替换
//  exit(1);
//  printf("You can see me!\n");
//  return 0;
//}
//int main()
//{
//  if(fork() == 0)
//  {
//    //child
//    //exec*
//    execl("/usr/bin/python3","python","test.py",NULL);
//    printf("-----end-----\n");
//    exit(1);
//  }
//  //parent
//  waitpid(-1,NULL,0);
//  printf("father wait child success\n");
//  return 0;
//}
